home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
F1 Licenseware
/
F1 Licenseware - Volume 1.iso
/
disks
/
055a.dms
/
055a.adf
/
READERS_SOURCE.LHA
/
READERS_SOURCE
/
A_CAMPBELL
/
AJC-DOMAIN-GAME.AMOS
/
AJC-DOMAIN-GAME.amosSourceCode
next >
Wrap
AMOS Source Code
|
1992-02-26
|
4KB
|
131 lines
'
' "DOMAIN" - A game never finished by Andrew Campbell
'
' Use the mouse to play this one. If anyone makes anything GOOD out
' of this program, send it to me (or at least give me a credit!).
'
Global CB,C1,C0,X,Y,U,D,A$,A,B,C,AMMO,TL,TACK,FREBOB,LVL
Default Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Screen Open 0,320,200,32,Lowres : Curs Off : Flash Off
Cls 0 : Fade 1 To -1 : Wait 15
For I=0 To 15 : Channel I To Bob I : Next I
Make Mask : Change Mouse 4
Reserve Zone 10 : Double Buffer : Autoback 1
Gosub SETZ
Bob 0,150,190,4
For I=1 To 7 : Bob 1+I,I*5,150-I*20,26 : Amal 1+I,"M 320,0,499 ; M -320,0,450" : Amal On : Next I
Limit Mouse 129,50 To 446,247
TACK=1 : AMMO=30 : FREBOB=13 : LVL=1
Paper 0 : Pen 2
Locate 0,1 : Print AMMO
Timer=0 : TL=99
MAIN:
Repeat
MZ=Mouse Zone
C_CHECK
Locate 33,1 : Print TL-Timer/50;" "
If MZ=1 and TACK=1 : Change Mouse 6 : TACK=0 : End If
If MZ=0 and TACK=0 : Change Mouse 4 : TACK=1 : End If
If Mouse Key=1 and TACK=0 : Gosub MMAN : End If
If Mouse Key=1 and TACK=1 : Goto NXT : End If
Until Mouse Key and TACK=1
NXT:
If TACK=1
'
' Below ( L=Left / R=right / U=Straight up / UI=Up and In to backG )
'
Dec AMMO : Locate 0,1 : Print AMMO;" "
L=0 : R=0 : U=0 : UI=0 : LU=0 : RU=0
A$="(8,5)"
XB=X Bob(0) : YB=Y Bob(0)
If XB<X Screen(X Mouse) : A$="(9,5)" : UI=1 : End If
If XB>X Screen(X Mouse) : A$="(10,5)" : UI=1 : End If
If XB<X Screen(X Mouse)-50 and Y Screen(Y Mouse)>130 : A$="(12,5)" : R=1 : End If
If XB>X Screen(X Mouse)+50 and Y Screen(Y Mouse)>130 : A$="(11,5)" : L=1 : End If
If XB<X Screen(X Mouse)-50 and Y Screen(Y Mouse)<131 : A$="(9,5)" : RU=1 : End If
If XB>X Screen(X Mouse)+50 and Y Screen(Y Mouse)<131 : A$="(10,5)" : LU=1 : End If
MZ=Mouse Zone
If MZ=2 : A$="(8,5)" : U=1 : RU=0 : LU=0 : End If
If L=0 and R=0 and U=0 and LU=0 and RU=0 : UI=1 : A$="(8,5)" : End If
Amal 0,"A 1,(5,4)(6,4)(7,4)(8,4)"+A$ : Amal On 0
Repeat : Until Mouse Key=0
End If
'
' Register ox = X offset where arrow starts / oy = Y offset.
'
TX=X Screen(X Mouse) : TY=Y Screen(Y Mouse)
Repeat : C_CHECK : Locate 33,1 : Print TL-Timer/50;" " : Until Chanan(0)=0
A$=""
If U=1 : OX=-3 : OY=30 : A$="A 1,(18,20)(25,1) ;" : End If
If UI=1 : OX=-3 : OY=32 : A$="A 1,(22,10)(23,5)(24,5)(25,1) ;" : End If
If L=1 : OX=-14 : OY=20 : A$="A 1,(15,20)(25,1) ;" : End If
If R=1 : OX=14 : OY=20 : A$="A 1,(21,20)(25,1) ;" : End If
If LU=1 : OX=-16 : OY=30 : A$="A 1,(17,20)(25,1) ;" : End If
If RU=1 : OX=16 : OY=30 : A$="A 1,(19,20)(25,1) ;" : End If
Bob 1,X Bob(0)+OX,Y Bob(0)-OY,25 : Wait Vbl
A$=A$+"M XS(0,XM)-X,YS(0,YM)-Y,20" : Amal 1,A$ : Amal On 1
Repeat : C_CHECK : Until Chanan(1)=0 : Amal 0,"A 1,(8,4)(13,4)(14,4)(4,4)" : Amal On 0
Goto MAIN
MMAN:
A$="M XS(0,XM)-X,0,20" : Amal 0,A$ : Amal On 0 : Repeat : C_CHECK : Until Chanmv(0)=0
Return
SETZ:
Set Zone 1,0,180 To 320,200 : Rem ----> Walking area check (TACK=0)
Set Zone 2,75,0 To 320-75,50 : Rem -----> Fire up (U)
Return
Procedure C_CHECK
C1=0 : C0=0
C0=Bob Col(0)
C1=Bob Col(1)
If Col(C1)>0 Then CB=Col(C1) : HIT_BADDIE
End Proc
Procedure HIT_BADDIE
'---------------------------
' Check the Creatures images
'---------------------------
If CB>12 and CB<16 Then Pop Proc
If LVL=1
IM=I Bob(CB) : Amal Off(1) : Bob Off(1)
Amal Off(CB) : Bob FREBOB,X Bob(CB),Y Bob(CB),IM : Bob Off(CB)
If IM=26 : A$="A 1,(27,5)(28,5)(29,10)(25,1)" : End If
Amal FREBOB,A$ : Amal On(FREBOB)
End If
End Proc
Procedure F_BOBS
If FREBOB>15 Then FREBOB=13
End Proc